package com.chenqi.tool.common

import android.annotation.SuppressLint
import java.text.ParseException
import java.text.SimpleDateFormat
import java.util.*

/**
 * 作者: CQ
 * 日期: 2021-03-26
 * 说明:时间类工具
 */
@SuppressLint("SimpleDateFormat")
object DataUtils {
    /**
     * 获取时间戳
     */
    fun getTimeStamp(): Long {
        return System.currentTimeMillis()
    }

    /**
     * 获取时间：yyyy-MM-dd
     */
    fun getCurrentDate(): String {
        return SimpleDateFormat("yyyy-MM-dd").format(Date())
    }

    /**
     * 获取时间：yyyyMMdd
     */
    fun getCurrentDates(): String {
        return SimpleDateFormat("yyyyMMdd").format(Date())
    }

    /**
     * 获取时间：yyyy-MM-dd HH:mm:ss:SSS
     */
    fun getCurrentDate1(): String {
        return SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").format(Date())
    }

    /**
     * 获取时间：yyyyMMddHHmmssSSS
     */
    fun getCurrentDate1s(): String {
        return SimpleDateFormat("yyyyMMddHHmmssSSS").format(Date())
    }

    /**
     * 获取时间：yyyy-MM-dd HH:mm:ss
     */
    fun getCurrentDate2(): String {
        return SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())
    }

    /**
     * 获取时间：yyyyMMddHHmmss
     */
    fun getCurrentDate2s(): String {
        return SimpleDateFormat("yyyyMMddHHmmss").format(Date())
    }

    /**
     * 时间格式转换
     * data ： 时间
     * oldConversion ： 旧的时间格式（和data对应）
     * newConversion ： 新的时间格式
     */
    fun onFormatConvert(data: String, oldConversion: String, newConversion: String): String {
        val sdf = SimpleDateFormat(oldConversion, Locale.getDefault())
        try {
            return SimpleDateFormat(data, Locale.getDefault()).format(sdf.parse(newConversion)!!)
        } catch (e: ParseException) {
            e.printStackTrace()
        }
        return ""
    }

}
